package ln.javatest.day06.demo06;
/*
java.lang.String类代表字符串
API说Java程序中的所有字符串字面值（"如：abc"）都作为此类的实例实现
其实就是说，程序当中所有的双引号字符串，都是String类的对象

字符串的特点:
1.字符串是常量，他们的值在创建后不可改变。（字符串内容用不可变）【重点】
2.正式因为字符串不可以改变，所以字符串是可以共享使用的。
3.字符串效果相当于是char[]字符数组，但是底层原理是byte[]字节数组。
字符是一个个单个的，字符串是一个个的字符串在一起。

创建字符串的常见3+1种方式：
三种构造方法：
public String():创建一个空白字符串，不含有任何内容
public String(char[] array):根据字符数组的内容，来创建对应的字符串。
public String(byte[] array):根据字节数组的内容，来创建对应的字符串。

注意：直接写上双引号，就是字符串对象。JDK帮我们new了。
*/

public class Demo01String {
    public static void main(String[] args) {
        //使用空参构造
        String str = new String(); //小括号留空，字符串什么内容都没有
        System.out.println("第一个字符串：" + str);//第一个字符串：
        //根据字符数组创建字符串
        char[] charArray = {'A','B','C'};
        String str2 = new String(charArray);
        System.out.println("第2个字符串：" + str2);//第2个字符串：ABC
        //根据字节数组还创建字符串
        //byte的范围是0-127，所以这其中的数据不能超过这个范围
        //转换成string是通过ASCII码转换
        byte[] byteArray = {97,98,99};
        String str3 = new String(byteArray);
        System.out.println("第3个字符串：" + str3);//第3个字符串：abc
        //直接创建
        String str1 = "Hello";
        System.out.println(str1);//Hello
    }
}
